package top.healthylife.gateway.platform.td.dto.creditbodyguard.precreditauditscore.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import top.healthylife.gateway.dto.request.req.ApiReqDto;

import java.time.LocalDateTime;

/**
 * @author : GaoZeXi
 * @date 2021/7/28 10:04
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@ApiModel("贷前综合分")
public class TdReqPreCreditAuditScoreDto extends ApiReqDto {

    @ApiModelProperty(value = "借款人姓名", required = true, example = "皮晴晴", notes = "必填")
    private String accountName;

    @ApiModelProperty(value = "借款人身份证", required = true, example = "370404199006301915", notes = "必填")
    private String idNumber;

    @ApiModelProperty(value = "借款人手机", required = true, example = "13333333333", notes = "必填")
    private String accountMobile;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "事件时间", required = false, example = "2016-03-01 08:16:30", notes = "回溯字段入参，精确到秒")
    private LocalDateTime eventOccurTime;

    @ApiModelProperty(value = "贷款期限", required = false, example = "", notes = "")
    private Integer loanTerm;

    @ApiModelProperty(value = "贷款金额", required = false, example = "", notes = "")
    private Double loanAmount;

    @ApiModelProperty(value = "获客渠道", required = false, example = "1", notes = "")
    private String customerChannel = "1";

    @ApiModelProperty(value = "借款人卡号", required = false, example = "6224900598341823", notes = "")
    private String cardNumber;

    @ApiModelProperty(value = "借款人QQ", required = false, example = "1306053539", notes = "")
    private String qqNumber;

    @ApiModelProperty(value = "借款人邮箱", required = false, example = "lanfu168@126.com", notes = "")
    private String accountEmail;

    @ApiModelProperty(value = "借款人座机", required = false, example = "", notes = "")
    private String accountPhone;

    @ApiModelProperty(value = "学历", required = false, example = "", notes = "")
    private String diploma;

    @ApiModelProperty(value = "单位座机", required = false, example = "0571-111111111", notes = "")
    private String workPhone;

    @ApiModelProperty(value = "IP", required = false, example = "", notes = "")
    private String ipAddress;

    @ApiModelProperty(value = "家庭地址", required = false, example = "石家庄市宣化区东土关街5号楼1单元401号", notes = "")
    private String homeAddress;

    @ApiModelProperty(value = "户籍地址", required = false, example = "浙江省杭州市西湖区古荡新村2幢101", notes = "")
    private String registeredAddress;

    @ApiModelProperty(value = "通讯地址", required = false, example = "", notes = "")
    private String contactAddress;

    @ApiModelProperty(value = "借款人工作单位", required = false, example = "张家口李嘉诚企业", notes = "")
    private String organization;

    @ApiModelProperty(value = "工作单位地址", required = false, example = "", notes = "")
    private String organizationAddress;

    @ApiModelProperty(value = "第一联系人姓名", required = false, example = "", notes = "")
    private String contact1Name;

    @ApiModelProperty(value = "第一联系人身份证", required = false, example = "", notes = "")
    private String contact1IdNumber;

    @ApiModelProperty(value = "第一联系人手机号", required = false, example = "", notes = "")
    private String contact1Mobile;

    @ApiModelProperty(value = "第一联系人社会关系", required = false, example = "", notes = "")
    private String contact1Relation;

    @ApiModelProperty(value = "第二联系人姓名", required = false, example = "", notes = "")
    private String contact2Name;

    @ApiModelProperty(value = "第二联系人身份证", required = false, example = "", notes = "")
    private String contact2IdNumber;

    @ApiModelProperty(value = "第二联系人手机号", required = false, example = "", notes = "")
    private String contact2Mobile;

    @ApiModelProperty(value = "第二联系人社会关系", required = false, example = "", notes = "")
    private String contact2Relation;

    @ApiModelProperty(value = "TokenId", required = false, example = "", notes = "")
    private String tokenId;

    @ApiModelProperty(value = "black_box", required = false, example = "", notes = "")
    private String blackBox;

    @ApiModelProperty(value = "是否返回离线指标", required = false, example = "", notes = "")
    private Boolean isIndicatrix;
}
